In information retrieval, ranking is of central importance. Good ranking is the basis for relevance, while the relevance is the basis for Web search to attract users and advertisers. Ranking is usually done by applying a ranking function (a ranker) onto a set of objects (e.g., documents) to compute a score for each object and sort the objects according to the scores. Depending on applications the scores may represent the degrees of relevance, preference, or importance, but relevance is usually referred to without losing generality.
Information retrieval (IR) researchers have studied search relevance for various search engines and tools. Representative methods include Boolean, vector space, probabilistic, and language models. Earlier search engines and tools were mainly based on such IR algorithms. These search engines and tools incorporate in varying degrees the concept of the ranking function. Many factors may affect the ranking function for search relevance. These factors may include page content, title, anchor, URL, spam, and page freshness. It is extremely difficult to manually tune ranking function parameters to accommodate these factors for large-scale data sets, such as those that are common in many applications including World Wide Web (“Web”) applications and speech and image processing. For these large data sets, machine based learning algorithms have been applied to learn complex ranking functions from large-scale data sets.
Early algorithms for ranking function learning include Polynomial-based regression, Genetic Programming, RankSVM and classification-based SVM. However, these algorithms were only evaluated on a small-scale dataset due to the high computational cost. In fact, these traditional machine-learning algorithms operate slowly when searching large-scale data sets. Users often wait many hours, days, or even weeks to get results from these data sets.
More recently, Neural Network (NN) started to be intensively used in many application areas (such as pattern recognition, signal processing, time series analysis, etc.) due to its superior quality. For example, Microsoft's MSN has used RankNet and is now using LambdaRank, to produce a NN model to generate ranking models for web pages in the Live Search engine. In Web Search ranking, the scale of data sets is large, so the training process may cost a lot of time and huge human effort on general purpose computers. This leads to low relevance quality and large cost for the search engines.
This slow computation time may be due, in part, to a typical personal computer (PC) being unable to exploit full parallelism in machine-learning algorithms efficiently. Instruction level parallelism techniques somewhat improve the processing time. More particularly, distributed implementations with process level parallelism are faster than many of the PC central processing units (CPUs), which execute instructions in sequential manner. However, distributed implementations occupy many machines and are very hardware intensive. Additionally, for some algorithms, distributed computing yields poor speed improvement per processor added due to communication cost. A Graphics Processing Unit (GPU)-based accelerator is another potential solution, but it could only accelerate a limited spectrum of machine learning algorithms due to its special hardware structure optimized for graphics applications. Memory access bandwidth, communication cost, flexibility and granularity of parallelism remain bottlenecks for these solutions. Furthermore, despite their generally recognized performances, the high cost of developing ASICs (Application Specific Integrated Circuits) has hampered such hardware neural network computing devices from seeing significant applications.